package br.com.JZSolution.domineduplex.modelo;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Serializable;
import java.security.NoSuchAlgorithmException;

import br.com.JZSolution.domineduplex.utils.SecurityUtils;

public class InformacoesTransferencia implements Serializable {

	private static final long serialVersionUID = -7443833364370025703L;
	String nomeArquivo;
	String nomeUsuario;
	String hashArquivo;
	long tamanhoArquivo;
	
	/**
	 * Cria o objeto para iniciar uma transferência
	 * @param nomeUsuario
	 * @param nomeArquivo
	 * @param tamanhoArquivo
	 * @throws IOException 
	 * @throws FileNotFoundException 
	 * @throws NoSuchAlgorithmException 
	 */
	public InformacoesTransferencia(String nomeUsuario,File arquivo) throws NoSuchAlgorithmException, FileNotFoundException, IOException{
		this.nomeArquivo = arquivo.getName();
		this.tamanhoArquivo = arquivo.length();
		this.nomeUsuario = nomeUsuario;
		this.hashArquivo = SecurityUtils.gerarHashMd5(arquivo);
	}

	public String getNomeArquivo() {
		return nomeArquivo;
	}

	public void setNomeArquivo(String nomeArquivo) {
		this.nomeArquivo = nomeArquivo;
	}

	public String getNomeUsuario() {
		return nomeUsuario;
	}

	public void setNomeUsuario(String nomeUsuario) {
		this.nomeUsuario = nomeUsuario;
	}

	public long getTamanhoArquivo() {
		return tamanhoArquivo;
	}

	public void setTamanhoArquivo(long tamanhoArquivo) {
		this.tamanhoArquivo = tamanhoArquivo;
	}

	public String getHashArquivo() {
		return hashArquivo;
	}
}
